package cn.maihe.elg.operation.supports.bank.cmb.dto;

import lombok.Data;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 签名内容
 */
@Data
public class CommonSign {
    /**
     * 签名数据
     * 对报文先预添加signature内容，包含sigtim和sigdat两个KEY，，
     * 服务器验签时会和当前时间比较，如果前后相差一个小时会报错，sigdat先预填充"__signature_sigdat__"，
     * 对报文的内容，对KEY按ASSIIC码排序后去掉报文字段中的空格和换行得到待签名字符串
     * 对待签名字符串用用户的SM私钥进行签名，对签名结果进行BASE64后获得签名结果。替换掉报文中sigdat的值，获得最终发送的报文格式
     */
    private String sigdat;
    /**
     * 签名时间
     * sigtim为当前时间（年月日时分秒，24小时制）
     */
    private String sigtim;

    public CommonSign() {
        sigdat = "__signature_sigdat__";
        sigtim = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
    }
}
